//
//  CTAesUtil.h
//  CTOpenSSL
//
//  Created by Andney Jack on 2021/2/22.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

/// AES加密、解密，只支持CBC模式
@interface CTAesUtil : NSObject

/// AES加密（CBC模式）
/// @param content 要加密的NSString、NSData
/// @param key 密钥
/// @param initVector 初始向量
/// @return Base64字符串
+ (nullable NSString *)aesEncode:(id)content key:(NSString *)key initVector:(NSString *)initVector;

/// AES解密（CBC模式）
/// @param content 要解密的NSString、NSData
/// @param key 密钥
/// @param initVector 初始向量
/// @return NSData对象
+ (nullable NSData *)aesDecodeToData:(id)content key:(NSString *)key initVector:(NSString *)initVector;

/// AES解密（CBC模式）
+ (nullable NSString *)aesDecodeToString:(id)content key:(NSString *)key initVector:(NSString *)initVector;

@end

NS_ASSUME_NONNULL_END
